1. Field of the Invention:
The present invention relates to the field of computer systems and their operating systems, in particular, computer systems executing the UNIX.RTM. system (UNIX is a registered trademark of UNIX System Laboratories, Inc.). More specifically, the present invention relates to reconstructing the symbol definitions of a dynamically configurable operating system, in particular, the kernel of a UNIX.RTM. system, at the time of a system crash.
2. Background:
Traditionally, many operating systems including the kernel of the UNIX.RTM. system is pre-built as one executable image, that is all program segments of the operating system are statically linked resolving all symbolic references to the symbolic definitions. Typically, the symbol and string tables of the operating system are made unpageable. Therefore, in the event of a system crash, when the system image in memory is taken, all the symbol definitions are available for debugging.
While the pre-built single executable image operating system is often tailorable, special knowledge and skill are usually required. As a result, experience has shown that most computer systems simply use the generic version even though many functions included in the generic version are not used, thereby wasting memory resource.
Today, some operating systems including the kernel of some UNIX.RTM. systems are configured dynamically. Under a fully dynamically reconfigurable operating system, the functions offered by the operating system are distributed over a root executable segment and a number of relocatable segments. The functions distributed in the relocatable segment are dynamically loaded and linked on an as needed basis. In the event of memory constraint, some dynamically loaded and linked relocatable segments that have not been used recently may be overlaid. Furthermore, the symbol and string tables of the root executable segment and the dynamically loaded and linked relocatable segments are typically made pageable. As a result, the symbol definitions available at any particular point in time change dynamically, and some of the current symbol definitions of the operating system may be paged out at the time the system image in memory is dumped in the event of a system crash. Those paged out symbol definitions will not be included in the system image dump taken and therefore unavailable to assist debugging. Thus, a new approach must be developed to reconstruct all symbol definitions of the operating system defined at the time of a system crash in order for them to be available for debugging.
As will be disclosed, the present invention provides a method and apparatus for reconstructing the symbol definitions of a dynamically configurable operating system, in particular, a dynamically configurable kernel of the UNIX.RTM. system, defined at the time of a system crash.
For further description of the UNIX.RTM. system including the kernel, see M. J. Bach, The Design of the UNIX.RTM. Operating System, Prentice Hall, 1986.